<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>find和findIndex方法</title>
</head>
<body>
  <script>
    let arr = [1,2,4,3]
    // console.log(arr.find(item => item >2 ))
    //语法 find(function(currentValue, index, arr), thisValue)
    // 参数规则同forEach
    // 上面例子中的function是什么？？是一个箭头函数（普通函数的函数体）
    function test(item, index, arr) {
      return item = item > 2
    }
    // find() 方法对数组中存在的每个元素执行一次函数：
    // find() 如果数组中的任何元素通过测试，则返回数组元素值(并且不检查剩余值)，否则返回 undefined。
    let result = arr.find(test)
    console.log(result) // 4

    // findIndex() 方法返回数组中通过测试的第一个元素的索引
    // findIndex() 方法对数组中存在的每个元素执行一次函数
    // 1. 如果找到函数返回 true 值的数组元素，则 findIndex() 返回该数组元素的索引（并且不检查剩余值）
    // 2. 否则返回 -1
    // 参数规则同forEach， 但是当thisValue为空时。undefined将作为其this的值
    let A = arr.findIndex(item => item > 2)
    console.log(A) // 2
  </script>
</body>
</html>